#ifndef _TABU_PFS_H_
#define _TABU_PFS_H_ XD
// ---- ---- 0w0 ---- ----
#include "ii_pfs.h"
#include "tabu_list.h"

class Tabu_PFS : public II_PFS {
public:
  explicit Tabu_PFS(const PFS_Item& pfs_item, double time_limit,
		int neighbor_per_time, int retry_limit, size_t tubu_list_len);

	void FindBestNeighbor(const Solution& solution,
		int* score_now, Solution* next_solution) override;

	void SolutionGo(Solution* solution, const Solution next_solution) override;

private:
	void Tabu_Process(double start_time);

	TabuList tabu_list_;
};


// ---- ---- >w< ---- ----
#endif